<template>
  <div>
    <!-- 表格操作项 start  -->
    <template v-for="(item, index) in tableBtn">
      <Button :key="index" type="primary" :icon="item.icon" class="ivu-mr-8"
              @click="tableTopOperate(item.name)" v-if="showBtn(item.label)">{{ item.label }}
      </Button>
    </template>

    <!-- <Button icon="md-list"
         class="ivu-ml-8"
         v-show="tableBatchBtns && tableBatchBtns.length>0 && tableSelectData &&tableSelectData.length">批量操作</Button> -->
    <Dropdown class="ivu-ml-8" v-show="tableSelectData && tableSelectData.length>0" @on-click="handleClickItem">
      <Button>更多操作
        <Icon type="ios-arrow-down"/>
      </Button>
      <DropdownMenu slot="list">
        <template v-for="(item, index) in tableBatchBtns">
          <DropdownItem  :key="index" :name="item.name" v-if="showBtn(item.label)">{{ item.label }}
          </DropdownItem>
        </template>

      </DropdownMenu>
    </Dropdown>
    <!-- 表格操作项 end -->
  </div>
</template>
<script>
import dynamictablebtns from '@/mixins/dynamictablebtns'; // 混入通用代码
import {ApiRequest, ApiRequestExportTable} from '@api/basePage';
import {mapGetters} from "vuex";

export default {
  mixins: [
    dynamictablebtns
  ],
  data() {
    return {}
  },
  methods: {
    tableTopOperate(name) {
      if (name === 'export') {//导出
        let searchParam = [];
        searchParam.push({name: 'categoryNo', value: ''});
        searchParam.push({name: 'categoryNo_q', value: 'EQ'});
        searchParam.push({name: 'categoryName', value: ''});
        searchParam.push({name: 'categoryName_q', value: 'Like'});
        searchParam.push({name: 'state', value: ''});
        searchParam.push({name: 'state_q', value: 'EQ'});
        let data = {
          searchParam: JSON.stringify(searchParam),
        }
        ApiRequestExportTable(this.requestApi.exportData.url, this.requestApi.exportData.type,
          data, true).then(res => {
          const blob = new Blob([res], {
            type: "application/octet-stream",
          });
          var link = document.createElement("a");
          link.href = window.URL.createObjectURL(blob);
          link.download = "后台品类表.xlsx";
          link.click();
          window.URL.revokeObjectURL(blob); // 释放掉blob对象
        }).catch((err) => {
          this.$Message.Message("导出失败");
        });
      } else {//新增
        this.$router.push({path: '/basics/category/categoryAuditManage/categoryAuditAdd', query: {}})
      }
    },
    handleClickItem(name) {
      if (name === 'delete') {
        let uuidArr = []
        this.tableSelectData.forEach(item => {
          uuidArr.push(item.uuid)
        });
        this.$Modal.confirm({
          title: '批量删除',
          content: '确定要批量删除这些品类吗？',
          onOk: () => {
            let data = {
              uuids: uuidArr.join(',')
            }
            // 开始请求列表
            ApiRequest(this.requestApi.baseDeletes.url, this.requestApi.baseDeletes.type, data, true).then(res => {
              if (res.retStatus === '1') {
                this.$Message.success('批量删除成功');
                this.tableSelectData = [];
                this.actionsChange();
              }
            })
          }
        })
      } else if (name === 'reAudit') {
        let uuidArr = [];
        this.tableSelectData.forEach(item => {
          uuidArr.push(item.uuid);
        });
        this.$Modal.confirm({
          title: '批量提交审核',
          content: '确定批量审核此数据吗？',
          onOk: () => {
            let data = {
              uuids: uuidArr.join(',')
            }
            // 开始请求商品列表
            ApiRequest(
              this.requestApi.reAudit.url,
              this.requestApi.reAudit.type,
              data, true
            ).then(res => {
              if (res.retStatus === '1') {
                this.$Message.success('批量提交成功')
                this.actionsChange()
              }
            })
          }
        })
      }
    }
  },
  computed: {
    ...mapGetters('permissions/systemBtns', [
      'showBtn'
    ]),
  },
}
</script>
